home *** CD-ROM | disk | FTP | other *** search
-
- { Here is the VGA palette changing code. }
-
- Unit PalChg;
- Interface
- USES DOS;
- Type
- TPalette16 = array[0..15] of array[0..2] of Byte;
- TPalette256 = array[0..255] of array[0..2] of Byte;
- procedure SetVGAPalette16(PalBuf : TPalette16);
- procedure SetVGAPalette256(PalBuf : TPalette256);
- Implementation
- procedure SetVGAPalette16(PalBuf : TPalette16);
- var
- Reg:Registers;
- begin
- reg.ax:=$1012; {Code for chg. palette}
- reg.bx:=0; {start with color 0}
- reg.cx:=16; {change 16 colors}
- reg.es:=Seg(PalBuf); {address: segment}
- reg.dx:=Ofs(PalBuf); {address: offset}
- intr($10, reg); {interrupt call}
- end;
- procedure SetVGAPalette256(PalBuf : TPalette256);
- var
- Reg: Registers;
- begin
- reg.ax:=$1012; {code for chg. palette}
- reg.bx:=0; {start with color 0}
- reg.cx:=256; {change 256 colors}
- reg.es:=Seg(PalBuf); {address: segment}
- reg.dx:=Ofs(PalBuf); {address: offset}
- intr($10, reg); {interrupt call}
- end;
- End.